1. Field
Invention relates to system and performance management, and in particular to performance management of standardized component architectures.
2. Related Art
Applications based on standardized component architectures, such as J2EE (Sun Microsystems' Java 2.0 Enterprise Edition) and .Net (Microsoft's .Net platform) enable enterprises to more quickly achieve high levels of application front-end and back-end integration and functional richness. Additionally, a new generation of enterprise software development tools use sophisticated graphical user interfaces to enable developers to work at a level of abstraction where abstract reusable objects are selected, interconnected and configured to realize complex business processes without the need to address the details of the underlying implementation components. Such applications are integrating front-end (portals) and back-end systems (such as DBMSs, mainframes, SAP, etc.) resulting in application servers transitioning from component containers to integration hubs through which mission critical business processes are realized.
However, the existing paradigms of system and performance management are difficult to apply and inefficient for this new generation of highly layered and interconnected component based applications. Where traditional paradigms have relied on a one to one mapping between hardware components and software components, this mapping quickly disappears as applications are deployed on application servers where resources and service components are shared across many applications. Resource metrics like CPU usage, memory usage, and I/O activity can no longer be mapped to specific application functions. Application performance measurement tools used to estimate the user experience can identify problematic application functions, but provide no help in identifying root causes. Approaches using code activity metrics through code instrumentation to provide visibility into component performance require detailed application architecture and source code knowledge in order to achieve a useful mapping between the executing code and the business functions realized by the code, and are only feasible for diagnostics of the most severe problems.
A primary impediment for existing system and performance management tools is their inability to “understand” the application architecture, the business functions implemented by the architecture, and the resulting demands on corresponding resources. This is due to the existence of vast amounts of low level technical metrics, a lack of contextual information hierarchies, and ignorance towards available metadata.
Accordingly, there is a need for a performance management approach that addresses the above issues and enables a shift from management based on resource and code activity to a business function oriented management.